#ifndef __AUDIOMANAGER_H__
#define __AUDIOMANAGER_H__

#ifdef AM_EXPORT
#define AM_API __declspec(dllexport)
#else
#define AM_API __declspec(dllimport)
#endif

class CAMCallback
{
public:
	CAMCallback(){}
	virtual ~CAMCallback(){}

	virtual void OnAudioCaptrue(const char *pAudio, int nLen) = 0;
};

class CAudioManager
{
public:
	CAudioManager(void){}
	~CAudioManager(void){}

	virtual int StartAudioCaptrue(void) = 0;
	virtual int StartAudioPlay(void) = 0;

	virtual int StopAudioCapture(void) = 0;
	virtual int StopAudioPlay(void) = 0;

	virtual int PlayAudio(const char *pAudio, int nLen) = 0;
	virtual	void SetAudioCallback(CAMCallback *pCallback) = 0;
};

AM_API CAudioManager* CreateAuidoManager();
AM_API void DestoryAuidoManager(CAudioManager* pAudioMan);

#endif